<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Drag and Drop Between Containers</title>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <style>
        .container {
            width: 200px;
            min-height: 100px;
            margin: 20px;
            padding: 10px;
            border: 2px dashed #ccc;
            float: left;
        }

        .item {
            padding: 10px;
            margin: 5px;
            background-color: #f0f0f0;
            border: 1px solid #ccc;
            cursor: pointer;
        }

        .item.ui-draggable-dragging {
            background-color: #e0e0e0;
        }
    </style>
</head>
<body>
    <div id="container1" class="container">
        <div class="item" id="item1">Item 1</div>
        <div class="item" id="item2">Item 2</div>
        <div class="item" id="item3">Item 3</div>
    </div>

    <div id="container2" class="container">
        <!-- 拖拽的元素将放置在这里 -->
    </div>

    <script>
        $(function() {
            // 使 .item 元素可拖拽
            $(".item").draggable({
                revert: "invalid", // 如果未放置到有效目标，则返回原位
                cursor: "move",    // 拖拽时的鼠标样式
                zIndex: 1000       // 确保拖拽元素在最上层
            });

            // 使 #container2 可放置
            $("#container2").droppable({
                accept: ".item",   // 只接受 .item 元素
                drop: function(event, ui) {
                    // 将被拖拽的元素追加到目标容器中
                    $(this).append(ui.draggable);
                }
            });

            // 使 #container1 可放置（可选，如果需要将元素拖回）
            $("#container1").droppable({
                accept: ".item",   // 只接受 .item 元素
                drop: function(event, ui) {
                    // 将被拖拽的元素追加到源容器中
                    $(this).append(ui.draggable);
                }
            });
        });
    </script>
</body>
</html>